$
		.widget(
				"ui.form",
				{
					_init : function() {
						var object = this;
						var form = this.element;
						var inputs = form.find("input , select ,textarea");

						form.find("fieldset").addClass("ui-widget-content");
						form.find("legend").addClass(
								"ui-widget-header ui-corner-all");
						form.addClass("ui-widget");

						$.each(inputs, function() {
							$(this).addClass('ui-state-default ui-corner-all');
							$(this).wrap("<label />");

							if ($(this).is(":reset ,:submit"))
								object.buttons(this);
							//else if ($(this).is(":checkbox"))
							//	object.checkboxes(this);
							else if ($(this).is("input[type='text']")
									|| $(this).is("textarea")
									|| $(this).is("input[type='password']"))
								object.textelements(this);
							//else if ($(this).is(":radio"))
							//	object.radio(this);
							//else if ($(this).is("select"))
							//	object.selector(this);

							if ($(this).hasClass("date"))
								$(this).datepicker();
						});

						
						 /**
						  var div = jQuery("<div />",{
						 	   css:{
							   width:20,height:20,
							   margin:10,textAlign:"center"
								   }
							   }).addClass("ui-state-default drag");
						  var no = Math.ceil(Math.random() * 4);
						  var holder = jQuery("<div />",{
									  id:'droppable',
									  text:"Drop the box with "+no+" here",
						                	   css:{
										 width:100,height:100,float:'right',fontWeight:'bold'}
										  }).addClass('ui-state-default');
						  $(form).find("fieldset").append(holder);
						  
						  for(var i=1;i<5;i++){
							  $(form).find("fieldset").append(div.clone().html(i).attr("id",i));
						  }

						  $(".drag").draggable({containment: 'parent'});
						  $("#droppable").droppable({
								accept:'#'+no,
								drop: function(event, ui) {
									$(this).addClass('ui-state-highlight').html("Right One");
									form.find(":submit").removeClass('ui-state-disabled').unbind('click');
									}
						  });
						  
						  **/						
						
						
						$(".hover").hover(function() {
							$(this).addClass("ui-state-hover");
						}, function() {
							$(this).removeClass("ui-state-hover");
						});
					},
					textelements : function(element) {
						$(element).bind( {
							focusin : function() {
								$(this).toggleClass('ui-state-focus');
							},
							focusout : function() {
								$(this).toggleClass('ui-state-focus');
							}
						});
					},
					buttons : function(element) {
						if ($(element).is(":submit")) {
							$(element)
									.addClass(
											"ui-priority-primary ui-corner-all ui-state-disabled hover");
							$(element).bind("click", function(event) {
								event.preventDefault();
							});
						} else if ($(element).is(":reset"))
							$(element)
									.addClass(
											"ui-priority-secondary ui-corner-all hover");
						$(element).bind('mousedown mouseup', function() {
							$(this).toggleClass('ui-state-active');
						});
					},
					checkboxes : function(element) {
						$(element).parent("label").after("<span />");
						var parent = $(element).parent("label").next();
						$(element).addClass("ui-helper-hidden");
						parent.css( {
							width : 16,
							height : 16,
							display : "block"
						});
						parent
								.wrap("<span class='ui-state-default ui-corner-all' style='display:inline-block;width:16px;height:16px;margin-right:5px;'/>");
						parent.parent().addClass('hover');
						parent.parent("span").click(function(event) {
							$(this).toggleClass("ui-state-active");
							parent.toggleClass("ui-icon ui-icon-check");
							$(element).click();

						});

					},
					radio : function(element) {
						$(element).parent("label").after("<span />");
						var parent = $(element).parent("label").next();
						$(element).addClass("ui-helper-hidden");
						parent.addClass("ui-icon ui-icon-radio-off");
						parent
								.wrap("<span class='ui-state-default ui-corner-all' style='display:inline-block;width:16px;height:16px;margin-right:5px;'/>");
						parent.parent().addClass('hover');
						parent
								.parent("span")
								.click(
										function(event) {
											$(this).toggleClass(
													"ui-state-active");
											parent
													.toggleClass("ui-icon-radio-off ui-icon-bullet");
											$(element).click();
										});
					},
					selector : function(element) {
						var parent = $(element).parent();
						parent.css( {
							"display" : "block",
							width : 140,
							height : 21
						}).addClass("ui-state-default ui-corner-all");
						$(element).addClass("ui-helper-hidden");
						parent
								.append("<span id='labeltext' style='float:left;'></span><span style='float:right;display:inline-block' class='ui-icon ui-icon-triangle-1-s' ></span>");
						parent
								.after("<ul class=' ui-helper-reset ui-widget-content ui-helper-hidden' style='position:absolute;z-index:50;width:140px;' ></ul>");
						$.each($(element).find("option"), function() {
							$(parent).next("ul").append(
									"<li class='hover'>" + $(this).html()
											+ "</li>");
						});
						$(parent).next("ul").find("li").click(function() {
							$("#labeltext").html($(this).html());
							$(element).val($(this).html());
						});
						$(parent).click(function(event) {
							$(this).next().slideToggle('fast');
							event.preventDefault();
						});

					}

				});
